#include "cmdDeal.h"

void _clean_pre_space(char* buf) {
    int begin = 0;
    while (buf[begin] == ' ') {
        begin++;
    }
    if (begin > 0) {
        int i = 0;
        while (buf[begin] != '\0') {
            buf[i++] = buf[begin++];
        }
        buf[i] = '\0'; 
    }
}

// CmdType _get_client_cmd(char* _data){
//     // c++ map
//     /* printf("_data = %s\n", _data); */
//     char cmd[1024] = { 0 };
//     int begin = 0;
//     // del pre 0
//     while(_data[begin] == ' ' || _data[begin] == '\n' || _data[begin] == '\r'){
//         begin++;
//     }
//     /* printf("_data = %s\n", _data + begin); */
//     // get end
//     int end = begin;
//     while(_data[end] != ' ' && _data[end] != '\0' && _data[end] != '\n' && _data[end] != '\r'){
//         end++;
//     }    
//     memcpy(cmd, _data + begin, end - begin);
//     cmd[end - begin] = '\0';
//     /* printf("cmd = %s\n", cmd); */
//     // delete cmd & move args 
//     int arg_begin = end;
//     // 跳过命令后的空格或换行符
//     while (_data[arg_begin] == ' ' || _data[arg_begin] == '\n' || _data[arg_begin] == '\r') {
//         arg_begin++;
//     }
//     // 移动参数到_data起始位置
//     memmove(_data, _data + arg_begin, strlen(_data + arg_begin) + 1); // +1包含结束符
//     _clean_pre_space(_data); 
    
//     // return CMD_TYPE_cmd
//     if(strcmp(cmd, "cd") == 0){
//         _clean_pre_space(_data);
//         return CMD_TYPE_CD;
//     } else if(strcmp(cmd, "ls") == 0){
//         _clean_pre_space(_data);
//         return CMD_TYPE_LS;
//     } else if(strcmp(cmd, "pwd") == 0){
//         _clean_pre_space(_data);
//         return CMD_TYPE_PWD;
//     } else if(strcmp(cmd, "mkdir") == 0){
//         _clean_pre_space(_data);
//         return CMD_TYPE_MKDIR;
//     } else if(strcmp(cmd, "rmdir") == 0){
//         _clean_pre_space(_data);
//         return CMD_TYPE_RMDIR;
//     } else if(strcmp(cmd, "remove") == 0){
//         _clean_pre_space(_data);
//         return CMD_TYPE_REMOVE;
//     } else if(strcmp(cmd, "puts") == 0){
//         _clean_pre_space(_data);
//         return CMD_TYPE_PUTS;
//     } else if(strcmp(cmd, "gets") == 0){
//         _clean_pre_space(_data);
//         return CMD_TYPE_GETS;
//     } else{
//         // 不是命令 可能是文件 不清楚前导空格
//         return CMD_TYPE_INIT;
//     }
// }